﻿//---------------------------------------------------------------------------
//
//  系统名称            :   高新区管委会信息服务平台 TCM System
//  本处理名            :   新建工业企业页面
//  英文名称            :   Company New
//  处理概要            :   录入企业名称、总体情况、生产项目、用地面积、
//                          投资规模、手续办理情况、建设进度、需管委会协
//                          调解决的问题以及企业产品和厂区的图片信息。
//  作成日期            :   2012/10/15
//  担当者名            :   Minic
//
//----------< 改修履历 >-----------------------------------------------------
//  修正日期            :       /  /  
//  修正者名            :   
//  修正内容            :   
//						:   
//  版本番号            :   1.0.0.0
//---------------------------------------------------------------------------
//  Copyright (C) 2012, Minic Soft, Ltd. All rights reserved.
//---------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SubSonic;
using ExtAspNet;


namespace TCMSystem.business.enterprise
{
    /// <summary>
    /// 新建工业企业
    /// </summary>
    public partial class company_new : PageBase
    {
        #region 变量定义
        #region 静态变量
        /// <summary>
        /// 日志
        /// </summary>
        private static readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
        #endregion 静态变量
        #endregion 变量定义

        #region 模块类型
        /// <summary>
        /// 当前页面所属的模块
        /// </summary>
        public override ModuleType Module
        {
            get
            {
                //TODO:模块权限
                return ModuleType.BizCompany;
            }
        }
        #endregion 模块类型

        #region 初始化
        /// <summary>
        /// Page_Load
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            // 页面初次加载
            if (!IsPostBack)
            {
                // 初始化处理
                this.LoadData();
            }
        }
        #endregion 初始化

        #region 事件

        #region 保存按钮点击事件
        /// <summary>
        /// 保存按钮点击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnSaveClose_Click(object sender, EventArgs e)
        {
            if (CheckSameName())
            {
                return;
            }

            // 数据保存
            this.SaveItem();

            PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
        }
        #endregion 保存按钮点击事件

        #endregion 事件

        #region 私有方法

        #region 初始化处理
        /// <summary>
        /// 初始化处理
        /// </summary>
        private void LoadData()
        {
            // 权限检查
            if (!CheckPowerNew())
            {
                CheckPowerFailWithPage();
                return;
            }

            btnClose.OnClientClick = ActiveWindow.GetConfirmHidePostBackReference();

        }
        #endregion 初始化处理

        #region 工业企业重名验证
        /// <summary>
        /// 工业企业重名验证
        /// </summary>
        /// <returns></returns>
        private bool CheckSameName()
        {
            SqlQuery q = new Select().From<TblBizEnterprise>();
            q.Where("1").IsEqualTo("1");
            // 工业企业区分：1
            q.And(TblBizEnterprise.EnterpriseTypeColumn).IsEqualTo(1);

            // 在工业企业名中搜索同名项
            q.And(TblBizEnterprise.EnterpriseNameColumn).IsEqualTo(this.tbxEnterpriseName.Text);

            // 满足条件的总共有多少条记录
            if (q.GetRecordCount() != 0)
            {
                this.tbxEnterpriseName.MarkInvalid(String.Format("已经存在工业企业名为'{0}'的记录，请重新输入！", this.tbxEnterpriseName.Text));
                Alert.ShowInTop(String.Format("已经存在工业企业名为'{0}'的记录，请重新输入！", this.tbxEnterpriseName.Text));
                return true;
            }

            return false;
        }
        #endregion #region 工业企业重名验证
        
        #region 数据保存
        /// <summary>
        /// 数据保存
        /// </summary>
        private void SaveItem()
        {
            TblBizEnterprise item = new TblBizEnterprise();
            // 企业名称
            item.EnterpriseName = this.tbxEnterpriseName.Text.Trim();
            // 总体情况
            item.Overview = this.tbxOverview.Text.Trim();
            // 生产项目
            item.ProductionProject = this.tbxProductionProject.Text.Trim();
            // 用地面积
            item.LandArea = this.tbxLandArea.Text.Trim();
            // 投资规模
            item.InvestmentScale = this.tbxInvestmentScale.Text.Trim();
            // 手续办理情况
            item.FormalitiesStatus = this.tbxFormalitiesStatus.Text.Trim();
            // 建设进度
            item.ConstructionProgress = this.tbxConstructionProgress.Text.Trim();
            // 需管委会协调解决的问题
            item.SolveProblems = this.tbxSolveProblems.Text.Trim();

            //TODO:Picture/Type 用定数
            item.EnterpriseType = 1;

            // 数据保存
            item.Save(User.Identity.Name);
        }
        #endregion 数据保存

        #endregion 私有方法
    }
}